From: Florian Müllner Date: Fri, 8 Apr 2011 14:48:33 +0000 (+0200) Subject: search-results: Fix flickering of the selection X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~8339 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f0622c1896dd835755c8ada7fb4a6dae8966e11f;p=gnome-shell.git search-results: Fix flickering of the selection When updating search results, the current result set is recreated from scratch before setting the selection highlight. This results in two style changes of the selected item, and as a CSS transition is used to animate the style change, the selected item flickers if it remains the same as with the previous search term. Fix by hiding the result set until the selection is set, to avoid the transition in that case. https://bugzilla.gnome.org/show_bug.cgi?id=646019 --- diff --git a/js/ui/searchDisplay.js b/js/ui/searchDisplay.js index ffe9fa482..7b0a3d114 100644 --- a/js/ui/searchDisplay.js +++ b/js/ui/searchDisplay.js @@ -333,6 +333,13 @@ SearchResults.prototype = { let terms = this._searchSystem.getTerms(); this._openSearchSystem.setSearchTerms(terms); + // To avoid CSS transitions causing flickering + // of the selection when the first search result + // stays the same, we hide the content while + // filling in the results and setting the initial + // selection. + this._content.hide(); + for (let i = 0; i < results.length; i++) { let [provider, providerResults] = results[i]; let meta = this._metaForProvider(provider); @@ -343,6 +350,8 @@ SearchResults.prototype = { if (this._selectedOpenSearchButton == -1) this.selectDown(false); + this._content.show(); + return true; },